package com.bosssoft.cloud.wechat.infrastructure.processor;

import org.springframework.web.servlet.mvc.method.RequestMappingInfo;

/**
 * 控制器url handler
 * <p>
 * 可做版本控制器(v1,v2...)添加统一url前缀等url，method的mapping前处理
 *
 * @author wcy create on 2021/6/24 16:52 下午
 */
public interface BaseControllerHandler {
    /**
     * 需要处理的控制器所处的包名
     */
    String getPackageName();

    /**
     * 需要添加的前缀
     */
    String getPrefix();

    /**
     * 是否匹配（clazz是否在getPackageName()包下）
     */
    boolean isPattern(Class<?> clazz);

    /**
     * 合并RequestMapping信息
     */
    RequestMappingInfo combineRequestMappingInfo(RequestMappingInfo original);
}
